#ifndef MENUES_H_
#define MENUES_H_

#include <iostream>
#include <vector>
#include "ArchFrase/ArchFrases.h"
#include "ArchFrase/BloqueFrase.h"
#include "IndiceBooleano/IndiceBooleano.h"

enum Operacion {
	NADA = 0,
	INICIALIZAR_ARCHIVOS,
	ABRIR_ARCHIVOS,
	ALTA_FRASE,
	BAJA_FRASE,
	MODIFICAR_FRASE,
	CONSULTA_IDX_BOOLEANO,
	CONSULTA_IDX_FIRMAS,
	SALIR
};


class Menues {
private:
	ArchFrases& archFrases;
	IndiceBooleano& idxBooleanos;

	char getOpcionUsuario() const;
	void cleanInput() const;

public:
	Menues(ArchFrases& frases, IndiceBooleano& idxBool);
	virtual ~Menues();

	Operacion principal();
	Operacion mantenerFrases();
	void mostrarResultados(std::vector<unsigned int> &vecIDDocumentos) const;

	std::string ingresarNombreArch(std::string txt = "");
	std::string getNombreArchivoCargado() const;

	BloqueFrase ingresarNuevaFrase() const;
	unsigned int ingresarIDFrase() const;

	// Pide que el usuario ingrese varios terminos para las busquedas de frases
	std::vector<std::string> ingresarTerminosBusqueda() const;
};

#endif
